<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output indent="yes"/>
    
    <xsl:template match="weather">
        <xsl:element name="response">
            <xsl:apply-templates select="dayf" />
        </xsl:element>
    </xsl:template>
    
    <xsl:template match="dayf">
        <xsl:for-each select="day">
            <xsl:copy-of select="." />
        </xsl:for-each>
    </xsl:template>
    
    <xsl:template match="*[local-name() = 'rss']">
       <xsl:element name="response">
           <xsl:element name="channel">
               <xsl:apply-templates select="channel" />
               <xsl:element name="item">
                   <xsl:apply-templates select="channel/item" />
               </xsl:element>
           </xsl:element>
       </xsl:element>
    </xsl:template>
    
    <xsl:template match="channel">
        <xsl:copy-of select="title" />
        <xsl:copy-of select="link" />
        <xsl:copy-of select="description" />
        <xsl:copy-of select="language" />
        <xsl:copy-of select="lastBuildDate" />
        <xsl:copy-of select="ttl" />
        <xsl:copy-of select="image" />
        <xsl:copy-of select="image" />
        <xsl:element name="location">
            <xsl:attribute name="city"><xsl:value-of select="*[local-name() = 'location']/@city"/></xsl:attribute>
            <xsl:attribute name="region"><xsl:value-of select="*[local-name() = 'location']/@region"/></xsl:attribute>
            <xsl:attribute name="country"><xsl:value-of select="*[local-name() = 'location']/@country"/></xsl:attribute>
        </xsl:element>
        <xsl:element name="wind">
            <xsl:attribute name="chill"><xsl:value-of select="*[local-name() = 'wind']/@chill"/></xsl:attribute>
            <xsl:attribute name="direction"><xsl:value-of select="*[local-name() = 'wind']/@direction"/></xsl:attribute>
            <xsl:attribute name="speed"><xsl:value-of select="*[local-name() = 'wind']/@speed"/></xsl:attribute>
        </xsl:element>
        <xsl:element name="atmosphere">
            <xsl:attribute name="humidity"><xsl:value-of select="*[local-name() = 'atmosphere']/@humidity"/></xsl:attribute>
            <xsl:attribute name="visibility"><xsl:value-of select="*[local-name() = 'atmosphere']/@visibility"/></xsl:attribute>
            <xsl:attribute name="pressure"><xsl:value-of select="*[local-name() = 'atmosphere']/@pressure"/></xsl:attribute>
            <xsl:attribute name="rising"><xsl:value-of select="*[local-name() = 'atmosphere']/@rising"/></xsl:attribute>
        </xsl:element>
        <xsl:element name="astronomy">
            <xsl:attribute name="sunrise"><xsl:value-of select="*[local-name() = 'astronomy']/@sunrise"/></xsl:attribute>
            <xsl:attribute name="sunset"><xsl:value-of select="*[local-name() = 'astronomy']/@sunset"/></xsl:attribute>
        </xsl:element>
    </xsl:template>
    <xsl:template match="channel/item">
        <xsl:copy-of select="title" />
        <xsl:copy-of select="link" />
        <xsl:copy-of select="pubDate" />
        <xsl:element name="condition">
            <xsl:attribute name="genCond"><xsl:value-of select="*[local-name() = 'condition']/@text"/></xsl:attribute>
            <xsl:attribute name="code"><xsl:value-of select="*[local-name() = 'condition']/@code"/></xsl:attribute>
            <xsl:attribute name="temp"><xsl:value-of select="*[local-name() = 'condition']/@temp"/></xsl:attribute>
            <xsl:attribute name="date"><xsl:value-of select="*[local-name() = 'condition']/@date"/></xsl:attribute>
        </xsl:element>
        
        <xsl:element name="forecasts">
            <xsl:for-each select="*[local-name() = 'forecast']">
                <xsl:element name="forecast">
                    <xsl:attribute name="day"><xsl:value-of select="@day"/></xsl:attribute>
                    <xsl:attribute name="date"><xsl:value-of select="@date"/></xsl:attribute>
                    <xsl:attribute name="genCond"><xsl:value-of select="@text"/></xsl:attribute>
                    <xsl:attribute name="low"><xsl:value-of select="@low"/></xsl:attribute>
                    <xsl:attribute name="high"><xsl:value-of select="@high"/></xsl:attribute>
                    <xsl:attribute name="code"><xsl:value-of select="@code"/></xsl:attribute>
                </xsl:element>
            </xsl:for-each>
        </xsl:element>
    </xsl:template>
</xsl:stylesheet>